mysql数据库常用命令

您所在的位置:网站首页 mysql 指令 mysql数据库常用命令

mysql数据库常用命令

#mysql数据库常用命令| 来源: 网络整理| 查看: 265

基础 定义及特点         定义: 用于存储数据的软件         特点: 表是数据存储的核心体现数据库常见分类 1、RDMS:(Relational Database Management System)关系型数据库系统 特征: 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 2、非关系型数据库 非关系型数据库也叫nosql数据库,全称notonlysql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。二、启动         rpm -qa|grep -i mysql      查看mysql是否安装         systemctl  status  firewalld.service      查看mysql的状态(mysqld最后的d是 daemon守护进程的意思)         systemctl  start  mysqld       启动mysql         systemctl  stop   mysqld       关闭mysql         systemctl  restart   mysqld      重启mysql1、进入数据库设置密码:

grant all privileges on *.* to 'root'@'localhost' identified by '123456';

操作语句     show databases;              显示所有的数据库名字     create database XX;          创建一个数据库名字为XX     drop database XX;            删除为XX名字的数据库     use XX;        进入到XX数据库 (显示Database changed 表示已进入)     show tables;                  查看当前数据库里面有哪些表     desc XX;                   查看XX这个表的结构 可以看到字段名称,数据类型,约束,备注         field ==》字段         type ==》数据类型         null ==》是否可以为空         key ==》primary key主键         default ==》默认值约束         Extra ==》额外的备注、auto_increment自增长约束

三、创表操作 create table+表名(字段1名称,数据类型,约束,字段2名称,数据类型,约束); drop table if exists goods;     -- 如果表存在, 执行删除操作         -- drop table : 删表               -- if exists : 如果存在 create table goods(goodsName varchar(20),price decimal(4, 2));数据类型 int  存储整数 范围(-2147483647,2147483647) bigint   存储整数 范围大于2147483647 unsigned       无符号 无符号范围(0 ~ 4294967295) drop table if exists goods;

四、表结构操作 alter table +表名 rename +新表名;            修改表名 alter table +表名 change +原字段名 +新字段名 数据类型,约束;    修改表字段 alter table+表名 add +字段名 数据类型 约束 first;      

添加表字段,并放在第一个字段前         first 第一,前面 alter table +表名 add +字段名 数据类型 约束 after +字段名;   添加表字段,并放到某个字段后   after 在·····之后 alter table +表名 add(字段1 数据类型,字段2 数据类型); 同时添加两个字段,默认添加到字段最后     alter table xx表drop xxx字段;   删除xx表的xxx字段     alter table +表名 drop 字段1,drop 字段2;     删除两个字段     alter table 表名 modify 字段1 字段类型 after 字段2;   移动字段     alter table 表名 drop primary key; 删除主键约束 (首先要把自增长删除) create table goods(id int unsigned primary key auto_increment, goodsName varchar(20),price decimal(6,2),num int,company varchar(20),remark varchar(30)); -- unsigned : 无符号 -- primary key : 主键(唯一,不为空) -- auto_increment : 自动递增 -- 直接替换字段名使用皆可 char  存储字符 例:char(10)可能占用了10个字节 注意:char(20) char(M) M指最大能存储20个字符,不足的用空格补齐  varchar(10)    存储字符 varchar(10)表示最大存储20个字符,实际是多少个字符就是多少个 date           建表的时候在日期的后面接date,并且加引号 datetime    日期时间 范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59) decimal   小数 decimal(5,2) 表示共存5位数,小数占2位,整数占3位  float    默认保存6位精度的数字(包括小数位和整数位) 例:float(20,2)指小数点后面2位

约束条件 primary key   主键约束,物理上存储的顺序 说明:非空唯一,用于唯一标识对应的记录。类似身份证、用来约束主键对应的值不能重复、也不能为空 foreign key   外键约束 在实际开发中,很少会使用到外键约束,会极大的降低表更新的效率 not null       非空约束  说明:表示当前字段对应的值不能为空 default        默认值约束 说明:默认给字段指定默认值  例:当往这个表当中插入数据的时候不给phone字段插入新的值、则默认用15366667777 auto_increment     自增长约束 说明:作用在整数类型,字段默认从1开始自增 unique    唯一     说明:此字段的值不允许重复

查询语句     select * from +表名;       查询表中的数据   *号代表的是所有     select 字段 from +表名;       查询某个字段的数据     select 字段1,字段2 from +表名     查询多个字段数据      select * from +表名 where 字段=值;   条件查询、查询满足某个条件的所有数据(where后面接满足的条件)     select * from +表名 where 字段!=值;   查询不满足某个条件的所有数据     select * from +表名 where 条件1 and 条件2;   查询同时满足多个条件数据(and关键字左右的两个条件必须同时满足)     select * from +表名 where 条件1 or 条件2;  查询满足至少1个条件的数据     select * from +表名 where 字段 between m and n  查询一个条件范围内的数据(between...and...指定一个范围)     select * from +表名 where 字段 not in(值1,值2,值3)   查询字段不满足在指定集合中的数据     select * from +表名 where 字段 in(值1,值2,值3)  查询字段满足在指定的集合中的数据     select * from +表名 where 字段 is null;      查询字段值为空的数据     select * from +表名 where 字段 is not null;     查询字段不为空的数据     select * from +表名 where 字段 like “%值%”    查询某个字段模糊匹配成功的数据  like:像 %用于匹配字段开头和结尾 select * from +表名 where 字段 limit m,n;   查询限定的数量的数据 select * from +表名 order by 字段 desc    查询的数据根据某个字段从大到小排序  select * from +表名 order by 字段 asc     查询的数据根据某个字段从小到大排序 select * from +表名 group by 字段;       查询的数据根据某个字段进行分组 select * from +表名 group by 字段 having 条件;   查询的数据根据某个字段进行分组再条件过滤(可以直接跟聚合函数) having跟在groupby后面,作用相当于where select class,sum(math) as b from student group by class having b>100; as取别名

插入数据及修改数据 插入   insert into 表名 values(...) insert into test(id,score,name,phone,time)values(1,89.88,'xiaowang',15355556666,"2020-10-8"); insert into test values(2,78.456,'xiaowang',15344445555,'2020-10-8'); insert into test(id,score,name,phone,time)values(3,78.456,'xiaowang',15344445555,'2020-10-8'),(4,78.456,'xiaowang',15344445555,'2020-10-8'); insert into test values(5,78.456,'xiaowang',15344445555,'2020-10-8'),(6,78.456,'xiaowang',15344445555,'2020-10-8'),(7,78.456,'xiaowang',15344445555,'2020-10-8'); insert into test(id)values(8);修改    update +表名 set 字段名=值 where 条件

删除操作 Truncate、Delete、Drop 的区别 1、Delete 删除数据时,即使删除所有数据,其中的自增长字段不会从1开始 2、Truncate 删除数据时,其中的自增长字段恢复从1开始 3、Drop 是删除表,所有数据和表结构都删掉总结 在速度上,drop > truncate > delete 如果想删除部分数据用 delete,注意带上 where 子句 如果想删除表,用 drop 如果想保留表而将所有数据删除,自增长字段恢复从1开始,用 truncate     drop +表名                  删除表数据和表结构,释放空间     truncate +表名            只是删除表的数据,释放空间     delete from test1;                        删除表数据,不删除表结构  ==》可以指定表字段值删除

MySQL 操作日志     记录 MySQL 所有的操作日志(包括增删改查),不过它会耗费数据库5%-10%的性能,所以一般没特别需要时不打开此功能,一般在查找问题时才打开,完成后及时关闭。     show variables like 'general%';  -- 查看日志功能是否开启     set global general_log = 1;    -- 开启操作     set global general_log = 0;    -- 关闭操作     -- 注意: 日志功能使用完成, 需要记得马上关闭, 避免影响数据库性能!!!!!!     注意 : MySQL 自带日志功能, 但是开启日志功能,  极其消耗数据库性能, 因此默认情况下是不开启的     日志目录    cat /usr/local/mariadb/var/localhost.log

聚合函数     select count(*) from +表名            统计查询数据的数量     select sum(字段) from +表名           查询某个字段求和     select avg(字段) from +表名           查询某个字段平均值     select distinct(字段) from +表名        对某个字段进行去重     select min(字段) from +表名;          查询某个字段最小值     select max(字段) from +表名;          查询某个字段最大值



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3